/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is Forte for Java, Community Edition. The Initial * Developer of the Original Code is Sun Microsystems, Inc. Portions * Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.search.types; import java.awt.*; import java.beans.*; import java.util.Date; import javax.swing.*; import org.openide.util.*; import org.netbeans.modules.search.res.*; /** * Customizer of criterion for testing date of primary file modification. * * @author Petr Kuzel * @version 1.0 */ public class ModificationDateCustomizer extends javax.swing.JPanel implements Customizer { private ModificationDateType peer; /** Creates new form ModificationDateCustomizer */ public ModificationDateCustomizer() { initComponents (); setBorder (new javax.swing.border.TitledBorder(Res.text("LABEL_MODIFIED"))); // NOI18N ButtonGroup group = new ButtonGroup(); group.add(daysRadioButton); group.add(betweenRadioButton); HelpCtx.setHelpIDString(this, ModificationDateType.class.toString()); } /** Initialize customizer state. */ public void setObject(final Object obj) { peer = (ModificationDateType) obj; // System.err.println("New peer: " + peer ); // set default coloring daysTextField.setForeground(Color.black); afterTextField.setForeground(Color.black); beforeTextField.setForeground(Color.black); daysTextField.setText(peer.WILDCARD); afterTextField.setText(peer.WILDCARD); beforeTextField.setText(peer.WILDCARD); // display object value in customizer if ( ! peer.getMatchAfter().equals(peer.WILDCARD) ) { afterTextField.setText(peer.getMatchAfter()); if ( ! peer.getMatchAfter().equals(null) ) betweenRadioButton.setSelected(true); } if ( ! peer.getMatchBefore().equals(peer.WILDCARD) ) { beforeTextField.setText(peer.getMatchBefore()); if ( ! peer.getMatchAfter().equals(null) ) betweenRadioButton.setSelected(true); } if ( ! peer.getDays().equals(peer.WILDCARD) ) { daysTextField.setText(peer.getDays()); daysRadioButton.setSelected(true); } } public void addPropertyChangeListener(final java.beans.PropertyChangeListener p1) { } public void removePropertyChangeListener(final java.beans.PropertyChangeListener p1) { } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the FormEditor. */ private void initComponents () {//GEN-BEGIN:initComponents daysRadioButton = new javax.swing.JRadioButton (); daysTextField = new javax.swing.JTextField (); daysLabel = new javax.swing.JLabel (); betweenRadioButton = new javax.swing.JRadioButton (); afterTextField = new javax.swing.JTextField (); andLabel = new javax.swing.JLabel (); beforeTextField = new javax.swing.JTextField (); egLabel = new javax.swing.JLabel (); setLayout (new java.awt.GridBagLayout ()); java.awt.GridBagConstraints gridBagConstraints1; daysRadioButton.setText (Res.text("LABEL_DURING_LAST")); daysRadioButton.addActionListener (new java.awt.event.ActionListener () { public void actionPerformed (java.awt.event.ActionEvent evt) { daysRadioButtonActionPerformed (evt); } } ); gridBagConstraints1 = new java.awt.GridBagConstraints (); gridBagConstraints1.insets = new java.awt.Insets (4, 12, 4, 4); gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST; add (daysRadioButton, gridBagConstraints1); daysTextField.setPreferredSize (new java.awt.Dimension (50, daysTextField.getPreferredSize ().height)); daysTextField.addKeyListener (new java.awt.event.KeyAdapter () { public void keyReleased (java.awt.event.KeyEvent evt) { daysTextFieldKeyReleased (evt); } } ); gridBagConstraints1 = new java.awt.GridBagConstraints (); gridBagConstraints1.insets = new java.awt.Insets (4, 4, 4, 4); add (daysTextField, gridBagConstraints1); daysLabel.setText (Res.text("LABEL_DAYS")); gridBagConstraints1 = new java.awt.GridBagConstraints (); gridBagConstraints1.gridwidth = 0; gridBagConstraints1.insets = new java.awt.Insets (4, 4, 4, 8); gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST; add (daysLabel, gridBagConstraints1); betweenRadioButton.setText (Res.text("LABEL_BETWEEN")); betweenRadioButton.addActionListener (new java.awt.event.ActionListener () { public void actionPerformed (java.awt.event.ActionEvent evt) { betweenRadioButtonActionPerformed (evt); } } ); gridBagConstraints1 = new java.awt.GridBagConstraints (); gridBagConstraints1.insets = new java.awt.Insets (4, 12, 4, 4); gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST; add (betweenRadioButton, gridBagConstraints1); afterTextField.setPreferredSize (new java.awt.Dimension (100, afterTextField.getPreferredSize ().height)); afterTextField.addKeyListener (new java.awt.event.KeyAdapter () { public void keyReleased (java.awt.event.KeyEvent evt) { afterTextFieldKeyReleased (evt); } } ); gridBagConstraints1 = new java.awt.GridBagConstraints (); gridBagConstraints1.gridwidth = 2; gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints1.insets = new java.awt.Insets (4, 4, 4, 4); gridBagConstraints1.weightx = 1.0; add (afterTextField, gridBagConstraints1); andLabel.setText (Res.text("LABEL_AND")); gridBagConstraints1 = new java.awt.GridBagConstraints (); gridBagConstraints1.insets = new java.awt.Insets (4, 4, 4, 4); add (andLabel, gridBagConstraints1); beforeTextField.setPreferredSize (new java.awt.Dimension (100, beforeTextField.getPreferredSize ().height)); beforeTextField.addKeyListener (new java.awt.event.KeyAdapter () { public void keyReleased (java.awt.event.KeyEvent evt) { beforeTextFieldKeyReleased (evt); } } ); gridBagConstraints1 = new java.awt.GridBagConstraints (); gridBagConstraints1.gridwidth = 0; gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints1.insets = new java.awt.Insets (4, 4, 4, 4); gridBagConstraints1.weightx = 1.0; add (beforeTextField, gridBagConstraints1); egLabel.setText (Res.text("DATE_EXAMPLE") + new ModificationDateType.FormattedDate(new Date()).toString()); gridBagConstraints1 = new java.awt.GridBagConstraints (); gridBagConstraints1.gridx = 1; gridBagConstraints1.gridy = 2; gridBagConstraints1.gridwidth = 4; gridBagConstraints1.insets = new java.awt.Insets (4, 4, 4, 4); gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST; add (egLabel, gridBagConstraints1); }//GEN-END:initComponents private void beforeTextFieldKeyReleased (java.awt.event.KeyEvent evt) {//GEN-FIRST:event_beforeTextFieldKeyReleased betweenRadioButton.setSelected(true); setBetween(); }//GEN-LAST:event_beforeTextFieldKeyReleased private void afterTextFieldKeyReleased (java.awt.event.KeyEvent evt) {//GEN-FIRST:event_afterTextFieldKeyReleased betweenRadioButton.setSelected(true); setBetween(); }//GEN-LAST:event_afterTextFieldKeyReleased private void betweenRadioButtonActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_betweenRadioButtonActionPerformed setBetween(); }//GEN-LAST:event_betweenRadioButtonActionPerformed private void daysRadioButtonActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_daysRadioButtonActionPerformed setDays(); }//GEN-LAST:event_daysRadioButtonActionPerformed private void daysTextFieldKeyReleased (java.awt.event.KeyEvent evt) {//GEN-FIRST:event_daysTextFieldKeyReleased daysRadioButton.setSelected(true); setDays(); }//GEN-LAST:event_daysTextFieldKeyReleased private void setDays() { String text = daysTextField.getText(); try { peer.setDays(text); daysTextField.setForeground(Color.black); } catch (IllegalArgumentException ex) { daysTextField.setForeground(Color.red); } } private void setBetween() { String after = afterTextField.getText(); String before = beforeTextField.getText(); try { peer.setMatchAfter(after); afterTextField.setForeground(Color.black); } catch (IllegalArgumentException ex) { afterTextField.setForeground(Color.red); } try { peer.setMatchBefore(before); beforeTextField.setForeground(Color.black); } catch (IllegalArgumentException ex) { beforeTextField.setForeground(Color.red); } } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JRadioButton daysRadioButton; private javax.swing.JTextField daysTextField; private javax.swing.JLabel daysLabel; private javax.swing.JRadioButton betweenRadioButton; private javax.swing.JTextField afterTextField; private javax.swing.JLabel andLabel; private javax.swing.JTextField beforeTextField; private javax.swing.JLabel egLabel; // End of variables declaration//GEN-END:variables } /* * Log * 11 Gandalf-post-FCS1.9.1.0 4/4/00 Petr Kuzel Comments + output window * fix * 10 Gandalf 1.9 1/13/00 Radko Najman I18N * 9 Gandalf 1.8 1/5/00 Petr Kuzel Margins used. Help * contexts. * 8 Gandalf 1.7 1/4/00 Petr Kuzel Bug hunting. * 7 Gandalf 1.6 12/23/99 Petr Kuzel Architecture improved. * 6 Gandalf 1.5 12/20/99 Petr Kuzel L&F fixes. * 5 Gandalf 1.4 12/17/99 Petr Kuzel Bundling. * 4 Gandalf 1.3 12/16/99 Petr Kuzel * 3 Gandalf 1.2 12/15/99 Petr Kuzel * 2 Gandalf 1.1 12/15/99 Martin Balin Fixed package name * 1 Gandalf 1.0 12/14/99 Petr Kuzel * $ */